package ig.util.ejb;

import ig.util.excepciones.IGExcepcion;



import java.rmi.RemoteException;

import java.sql.SQLException;



import javax.naming.NamingException;

/**
 * Define el comportamiento basico que posee todo Bean de Entidad dentro de
 * la aplicacion.
 * @author lfgarcia
 */
public abstract class IGEntityBean extends IGBean  {

    protected IGLlavePrimaria pk;

        
    /**
     * En este metodo debe especificarse que atributos cargar y como se debe realizar este
     * proceso para cada Bean de Entidad.
     * @throws IGExcepcion Si se presenta un error propio de la aplicacion.
     * @throws NamingException Si se presenta un error con JNDI.
     * @throws SQLException Si se presenta un error con la base de datos.
     * @throws Exception Si se presenta cualquier otro error.
     */
    public abstract void cargarEntidad() throws IGExcepcion, NamingException, SQLException, Exception;


    public abstract void actualizarEntidad() throws NamingException, SQLException, IGExcepcion;


    public abstract void eliminarEntidad() throws NamingException, SQLException, Exception;

    public IGLlavePrimaria getPk() {
        return pk;
    }

    public void setPk(IGLlavePrimaria pk) {
        this.pk = pk;
    }
    
}

